#e
#Title[ouȂɋ߂u[v]
#Text[]
#Image[]
#BackGround[]
#BGM[]
#PlayLevel[Extra]
#ScriptVersion[2]
#Player[FREE]

script_enemy_main
{
let count=0;
let usebomb=0;


	//GoɈxs镔
	@Initialize
	{
	//   eϐ

	//   XyJ[hf[^
	SetLife(800);
	SetScore(100000);
	SetDamageRate(30,  0);
	SetTimer(78);
	SetInvincibility(250);
	LoadGraphic("script\img\ExRumia.png");
	CutIn(KOUMA,"ouȂɋ߂u[v",GetCurrentScriptDirectory~"..\img\cutin02.png",0,0,255,320);
	}
	//   ʒu܂ňړ
	SetMovePosition02(GetCenterX, GetCenterY - 80, 60);

	BG_Standard;
	AtackTaskA;
	AtackTaskB;
	MoveTask;
	
	//G̃Ct0ɂȂ܂ŁA̕1t[1s
	@MainLoop
	{
		yield;



		if(OnBomb==false){
			SetCollisionA(GetX, GetY, 32);
			SetCollisionB(GetX, GetY, 24);
			usebomb=0;
		}
		else{
			usebomb++;
		}
		if(usebomb==1){
			BombBarrier;
		}
	}
	
	//`惋[vB1t[1s
	@DrawLoop
	{
		SetGraphicRect(64,1,127,64);
		if(GetSpeedX<0){
			SetGraphicRect(128,1,191,64);
		}
		if(GetSpeedX>0){
			SetGraphicRect(192,1,255,64);
		}
		SetColor(255,255,255);
		SetAlpha(255);
		if(OnBomb==true){SetAlpha(96);}
		SetTexture("script\img\ExRumia.png");//摜͔q
		DrawGraphic(GetX,GetY);
	}
		
	//GłuԂɈxs镔
	@Finalize
	{
		DeleteGraphic("script\img\ExRumia.png");
		DeleteGraphic(GetCurrentScriptDirectory ~"..img\back1.png");
		DeleteGraphic(GetCurrentScriptDirectory ~"..img\back2.png");
	}
	//XyJ[h̔wi
	//Ă悢
	@BackGround
	{
		BG_Simple;
	}

	task AtackTaskA(){
		wait(120);
		let level=3;
		let delay=20;
		let grf=BLUE22;
		while(1){
			PhantomShot(rand(GetClipMinX,GetClipMaxX),GetClipMinY,rand(0.5,2),rand(80,100),grf,delay,true);
			loop(level){
				PhantomShot(rand(GetClipMinX,GetClipMaxX),GetClipMinY,rand(0.5,2),rand(80,100),grf,delay,false);
			}
			wait(8);
		}
	}
	task AtackTaskB(){
		wait(120);
		let wt=200;
		while(1){
			PhantomShot(GetX,GetY,3,GetAngleToPlayer(),BLUE32,20,true);
			loop(wt){
				PhantomShot(GetX,GetY,3,rand(0,360),BLUE32,20,false);
				wait(1);
			}
			if(wt>60){wt-=5;}
		}
	}

	task PhantomShot(	//@ɋ߂ÂƖ{͔ZȂAU͔ȂeB
		x,
		y,
		speed,
		angle,
		graph,
		delay,
		tf		//^U
	){
		//e^XN
		let obj = Obj_Create(OBJ_SHOT);//eIuWFNg쐬
		Obj_SetX(obj, x);//xWݒ
		Obj_SetY(obj, y);//yWݒ;
		Obj_SetSpeed(obj, speed);//xݒ
		Obj_SetAngle(obj, angle);//ړpxݒ
		ObjShot_SetGraphic(obj, graph);//摜ݒ
		ObjShot_SetDelay(obj, delay);//xԐݒ
		Obj_SetCollisionToPlayer(obj, tf);

		while(!Obj_BeDeleted(obj)){
			let distance=Distance(Obj_GetX(obj),Obj_GetY(obj),GetPlayerX,GetPlayerY);
			if(distance<128){
				if(tf==true){
					Obj_SetAlpha(obj,255);
				}
				else{
					Obj_SetAlpha(obj,distance*2-50);
				}
			}
			if(distance>=128){
				if(tf==false){
					Obj_SetAlpha(obj,255);
				}
				else{
					Obj_SetAlpha(obj,400-distance*2);
				}
			}
			yield;
		}
	}
	task MoveTask{
		wait(120);
		while(true){
			SetMovePosition02(rand(GetCenterX+60,GetClipMaxX-60), rand(GetClipMinY+60,GetCenterY-80), 80);
			wait(180);
			SetMovePosition02(rand(GetCenterX-60,GetCenterX+60), rand(GetClipMinY+60,GetCenterY-80), 80);
			wait(180);
			SetMovePosition02(rand(GetClipMinX+60,GetCenterX-60), rand(GetClipMinY+60,GetCenterY-80), 80);
			wait(180);
			SetMovePosition02(rand(GetCenterX-60,GetCenterX+60), rand(GetClipMinY+60,GetCenterY-80), 80);
			wait(180);
		}
	}

	#include_function".\function.txt"
}

